

#include <iostream>

class base {

    private:
        int i;
    protected:
        int j;
    public: 
        base() {
            i = 0;
            j = 0;
        }
        void print() { std::cout <<" i " << i << " j " << j << std::endl; }


};

class derived : public base {

    public:
        void test1() {
            j = 10;
            //can't pass the build
            //i = 9;
        }


};

void test_case1() {

    //can't pass the build
    //base b;
    //b.j = 99;

};

void test_case2() {

    derived d;
    d.test1();
    d.print();
}

int main() {

    test_case1();
    test_case2();

    return 0;
}